import axios from 'axios'
const instance = axios.create({
  baseURL: 'https://m.maizuo.com',
  timeout: 5000,
  headers: {
    'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.0","e":"1629341711132456791408641","bc":"310100"}'
  }
})

// 需要创建一个基于http://47.96.0.211:3000接口的实例
const instance2 = axios.create({
  baseURL: '/info',
  timeout: 5000
})

// axios的请求之前的拦截器
// 可以在请求头上面携带一些公共的字段，例如token字段给后端发送。目的就是解决了不需要每个解决单独在请求头携带的麻烦问题。
instance2.interceptors.request.use(config => {
  config.headers = { ...config.headers, token: localStorage.getItem('token') }
  return config
})

// axios的响应之后的拦截器
// 根据后端返回的不同的状态码进行业务判断，实现不同的逻辑
instance2.interceptors.response.use(res => {
  if (res.data.flag) {
    return res.data.data
  } else {
    // eslint-disable-next-line prefer-promise-reject-errors
    return Promise.reject('出错了...')
  }
})

export {
  instance,
  instance2
}
